using System;

using SBPweb.Data;

namespace SBPweb.PROvibe.Resources.Entities
{
	public class SiteTemplate : Entity
	{

		#region Private fields

		private const string FIELDNAME_SiteId = "SiteId";
		private const string FIELDNAME_TemplateId = "TemplateId";

		#endregion

		#region Constructor logic

		static SiteTemplate()
		{
			RegisterEntityTypeToColumns(typeof(SiteTemplate));
		}

		public SiteTemplate()
            : base(null)
        {
		}

        public SiteTemplate(SiteTemplate entity)
            : base(entity)
        {
        }

		#endregion

		#region Public property accessors

		public virtual int SiteId
		{
			get
			{
				return GetValue<Int32>(FIELDNAME_SiteId);
			}
			set
			{
				SetValue<Int32>(FIELDNAME_SiteId, value);
			}
		}

		public virtual int TemplateId
		{
			get
			{
				return GetValue<Int32>(FIELDNAME_TemplateId);
			}
			set
			{
				SetValue<Int32>(FIELDNAME_TemplateId, value);
			}
		}

		#endregion

		#region Overridden methods

		public override object Clone()
		{
			SiteTemplate siteTemplate = new SiteTemplate();

			siteTemplate.SiteId = this.SiteId;
			siteTemplate.TemplateId = this.TemplateId;

			return siteTemplate;
		}

		#endregion

	}
}